//package com.pks.datacenter.config;
//
//import springfox.documentation.service.ApiKey;
//import springfox.documentation.service.Parameter;
//import io.swagger.annotations.Api;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import springfox.documentation.builders.ApiInfoBuilder;
//import springfox.documentation.builders.ParameterBuilder;
//import springfox.documentation.builders.PathSelectors;
//import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.schema.ModelRef;
//import springfox.documentation.service.ApiInfo;
//import springfox.documentation.spi.DocumentationType;
//import springfox.documentation.spring.web.plugins.Docket;
//import springfox.documentation.swagger2.annotations.EnableSwagger2;
//
//@Configuration
//@EnableSwagger2
//public class SwaggerConfiguration {
//	
//    @Value("${swagger.enabled}")
//    private boolean enableSwagger;
//    
//	@Bean
//    public Docket createRestApi() {
//        return new Docket(DocumentationType.SWAGGER_2)
//            .apiInfo(apiInfo())
//            //是否开启 (true 开启  false隐藏。生产环境建议隐藏)
//            .enable(enableSwagger)
//            .select()
//            //扫描的路径包,设置basePackage会将包下的所有被@Api标记类的所有方法作为api
//            .apis(RequestHandlerSelectors.basePackage("com.pks.datacenter.controller"))
////            .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
//            //指定路径处理PathSelectors.any()代表所有的路径
//            .paths(PathSelectors.any())
//            .build()
////            .globalOperationParameters(pars)
//            .securitySchemes(unifiedAuth()) ;
//    }
//	
//	//在每个方法上面添加的参数
//	public List<Parameter> defaultPars(){
//		ParameterBuilder ticketPar = new ParameterBuilder();
//	    List<Parameter> pars = new ArrayList<Parameter>(); 
//	    ticketPar.name("userToken").description("userToken").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); //header中的ticket参数非必填，传空也可以
//	    pars.add(ticketPar.build());  //根据每个方法名也知道当前方法在设置什么参数
//		return pars;
//	}
//	
//
//	private static List<ApiKey> unifiedAuth() {
//		List<ApiKey> arrayList = new ArrayList<ApiKey>();
//		arrayList.add(new ApiKey("userToken", "userToken", "header"));
//		return arrayList;
//	}
//	
//	private ApiInfo apiInfo() {
//        return new ApiInfoBuilder()
//            //设置文档标题(API名称)
//            .title("接口文档")
//            //文档描述
//            .description("接口说明")
//            //服务条款URL
//            .termsOfServiceUrl("http://127.0.0.1/")
//            //联系信息
////            .contact(new Contact("test", "", ""))
//            //版本号
//            .version("1.0")
//            .build();
//    }
//}
